package com.csx.governance.traffic.adm.model.vo;

import com.csx.governance.traffic.adm.model.bo.ExpressionBO;
import com.csx.governance.traffic.adm.model.pojo.SwimLaneRuleTypeEnum;
import com.csx.governance.traffic.adm.model.pojo.SwimLaneSubStrategy;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * @author cuisongxu
 * @date 2023/4/23 15:47
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
public class SwimLaneRouteRuleVO {

    private String name;

    private String serviceName;

    private SwimLaneRuleTypeEnum type;

    private List<Rule> rules;

    private Boolean enabled;

    @Data
    public static class Rule {

        private List<ExpressionBO> expression = new ArrayList<>();

        private List<SwimLaneSubStrategy> subStrategies = new ArrayList<>();

        private Boolean enabled;

    }

}
